package com.wwcom.darteagle.model;

import java.util.HashMap;
import java.util.Map;


//a singleton object to lookup checkouts
public class Checkout {
	private static Checkout instance = null;
	private static Map<String,String[]> lookup;   //double-out
	private static Map<String,String[]> lookupTO; //treble-out
	private static Map<String,String[]> lookupSO; //single-out
	
	static {
		//Double Out
		lookup= new HashMap<String,String[]>();
		//three-dart finishes
		lookup.put("170.3", new String[] {"T20","T20","BULL"});
		lookup.put("167.3", new String[] {"T20","T19","BULL"});
		lookup.put("164.3", new String[] {"T19","T19","BULL"});
		lookup.put("161.3", new String[] {"T20","T17","BULL"});
		lookup.put("160.3", new String[] {"T20","T20","D20"});
		lookup.put("158.3", new String[] {"T20","T19","D19"});
		lookup.put("157.3", new String[] {"T20","T19","D20"});
		lookup.put("156.3", new String[] {"T20","T20","D18"});
		lookup.put("155.3", new String[] {"T20","T19","D19"});
		lookup.put("154.3", new String[] {"T20","T18","D20"});
		lookup.put("153.3", new String[] {"T20","T19","D18"});
		lookup.put("152.3", new String[] {"T20","T20","D16"});
		lookup.put("151.3", new String[] {"T20","T17","D20"});
		lookup.put("150.3", new String[] {"T20","T18","D18"});
		lookup.put("149.3", new String[] {"T20","T19","D16"});
		lookup.put("148.3", new String[] {"T20","T20","D14"});
		lookup.put("147.3", new String[] {"T20","T17","D18"});
		lookup.put("146.3", new String[] {"T20","T18","D16"});
		lookup.put("145.3", new String[] {"T20","T15","D20"});
		lookup.put("144.3", new String[] {"T20","T20","D12"});
		lookup.put("143.3", new String[] {"T20","T17","D16"});
		lookup.put("142.3", new String[] {"T20","T14","D20"});
		lookup.put("141.3", new String[] {"T20","T15","D18"});
		lookup.put("140.3", new String[] {"T20","T16","D16"});
		lookup.put("139.3", new String[] {"T20","T13","D20"});
		lookup.put("138.3", new String[] {"T20","T16","D20"});
		lookup.put("137.3", new String[] {"T18","T17","D16"});
		lookup.put("136.3", new String[] {"T20","T20","D8"});
		lookup.put("135.3", new String[] {"T20","T13","D18"});
		lookup.put("134.3", new String[] {"T20","T14","D16"});
		lookup.put("133.3", new String[] {"T20","T19","D8"});
		lookup.put("132.3", new String[] {"BULL","BULL","D16"});  //replaced with our own
		lookup.put("131.3", new String[] {"T20","T13","D16"});
		lookup.put("130.3", new String[] {"T20","T18","D8"});  //dodgy
		lookup.put("129.3", new String[] {"T19","T16","D12"});
		lookup.put("128.3", new String[] {"T20","T20","D4"});
		lookup.put("127.3", new String[] {"T20","T17","D8"});
		lookup.put("126.3", new String[] {"T19","19","BULL"});
		lookup.put("125.3", new String[] {"T20","T19","D4"});  //dodgy
		lookup.put("124.3", new String[] {"T20","T16","D8"});
		lookup.put("123.3", new String[] {"T20","T13","D12"});
		lookup.put("122.3", new String[] {"T18","18","BULL"});
		lookup.put("121.3", new String[] {"T19","14","BULL"});
		lookup.put("120.3", new String[] {"T20","20","D20"});
		lookup.put("119.3", new String[] {"T20","19","D20"});
		lookup.put("118.3", new String[] {"T20","18","D20"});
		lookup.put("117.3", new String[] {"T20","17","D20"});
		lookup.put("116.3", new String[] {"T20","16","D20"});
		lookup.put("115.3", new String[] {"T20","15","D20"});
		lookup.put("114.3", new String[] {"T20","14","D20"});
		lookup.put("113.3", new String[] {"T20","13","D20"});
		lookup.put("112.3", new String[] {"T20","12","D20"});
		lookup.put("111.3", new String[] {"T20","11","D20"});
		lookup.put("110.3", new String[] {"T20","10","D20"});
		lookup.put("109.3", new String[] {"T19","12","D20"});
		lookup.put("108.3", new String[] {"T20","16","D16"});
		lookup.put("107.3", new String[] {"T19","10","D20"});
		lookup.put("106.3", new String[] {"T20","10","D18"});
		lookup.put("105.3", new String[] {"T20","13","D16"});
		lookup.put("104.3", new String[] {"T20","12","D16"});
		lookup.put("103.3", new String[] {"T19","10","D18"});
		lookup.put("102.3", new String[] {"T20","10","D16"});
		lookup.put("101.3", new String[] {"T17","10","D20"});
		lookup.put("99.3", new String[] {"T19","10","D16"});

		//two dart finishes
		lookup.put("100.3", new String[] {"T20","D20"});
		lookup.put("98.3", new String[] {"T20","D19"});
		lookup.put("97.3", new String[] {"T19","D20"});
		lookup.put("96.3", new String[] {"T20","D18"});
		lookup.put("95.3", new String[] {"T19","D19"});
		lookup.put("94.3", new String[] {"T18","D20"});
		lookup.put("93.3", new String[] {"T19","D18"});
		lookup.put("92.3", new String[] {"T20","D16"});
		lookup.put("91.3", new String[] {"T17","D20"});
		lookup.put("90.3", new String[] {"T18","D18"});
		lookup.put("89.3", new String[] {"T19","D16"});
		lookup.put("88.3", new String[] {"T16","D20"});
		lookup.put("87.3", new String[] {"T17","D18"});
		lookup.put("86.3", new String[] {"T18","D16"});
		lookup.put("85.3", new String[] {"T15","D20"});
		lookup.put("84.3", new String[] {"T16","D18"});
		lookup.put("83.3", new String[] {"T17","D16"});
		lookup.put("82.3", new String[] {"T14","D20"});
		lookup.put("81.3", new String[] {"T15","D18"});
		lookup.put("80.3", new String[] {"T16","D16"}); //dodgy
		lookup.put("79.3", new String[] {"T13","D20"});
		lookup.put("78.3", new String[] {"T18","D12"});
		lookup.put("77.3", new String[] {"T15","D16"});
		lookup.put("76.3", new String[] {"T20","D8"});
		lookup.put("75.3", new String[] {"T13","D18"});
		lookup.put("74.3", new String[] {"T14","D16"});
		lookup.put("73.3", new String[] {"T19","D8"});
		lookup.put("72.3", new String[] {"T16","D12"});
		lookup.put("71.3", new String[] {"T13","D16"});
		lookup.put("70.3", new String[] {"T18","D8"});
		lookup.put("69.3", new String[] {"T19","D6"});
		lookup.put("68.3", new String[] {"T20","D4"});
		lookup.put("67.3", new String[] {"T17","D8"});
		lookup.put("66.3", new String[] {"T10","D18"});
		lookup.put("65.3", new String[] {"T19","D4"});
		lookup.put("64.3", new String[] {"T16","D8"});
		lookup.put("63.3", new String[] {"T13","D12"});
		lookup.put("62.3", new String[] {"T10","D16"});
		lookup.put("61.3", new String[] {"T15","D8"});
		lookup.put("60.3", new String[] {"20","D20"});
		lookup.put("59.3", new String[] {"19","D20"});
		lookup.put("58.3", new String[] {"18","D20"});
		lookup.put("57.3", new String[] {"17","D20"});
		lookup.put("56.3", new String[] {"16","D20"});
		lookup.put("55.3", new String[] {"15","D20"});
		lookup.put("54.3", new String[] {"14","D20"});
		lookup.put("53.3", new String[] {"13","D20"});
		lookup.put("52.3", new String[] {"20","D16"});
		lookup.put("51.3", new String[] {"19","D16"});
		lookup.put("50.3", new String[] {"10","D20"});
		lookup.put("49.3", new String[] {"17","D16"});
		lookup.put("48.3", new String[] {"16","D16"});
		lookup.put("47.3", new String[] {"15","D16"});
		lookup.put("46.3", new String[] {"6","D20"});
		lookup.put("45.3", new String[] {"13","D16"});
		lookup.put("44.3", new String[] {"12","D16"});
		lookup.put("43.3", new String[] {"3","D20"});
		lookup.put("42.3", new String[] {"10","D16"});
		lookup.put("41.3", new String[] {"9","D16"});
		lookup.put("39.3", new String[] {"7","D16"});
		lookup.put("37.3", new String[] {"5","D16"});
		lookup.put("35.3", new String[] {"3","D16"});
		lookup.put("33.3", new String[] {"1","D16"});
		lookup.put("31.3", new String[] {"15","D8"});
		lookup.put("29.3", new String[] {"13","D8"});
		lookup.put("27.3", new String[] {"11","D8"});
		lookup.put("25.3", new String[] {"9","D8"});
		lookup.put("23.3", new String[] {"7","D8"});
		lookup.put("21.3", new String[] {"5","D8"});
		lookup.put("19.3", new String[] {"3","D8"});
		lookup.put("17.3", new String[] {"1","D8"});
		lookup.put("15.3", new String[] {"7","D4"});
		lookup.put("13.3", new String[] {"5","D4"});
		lookup.put("11.3", new String[] {"3","D4"});
		lookup.put("9.3", new String[] {"1","D4"});
		lookup.put("7.3", new String[] {"3","D2"});
		lookup.put("5.3", new String[] {"1","D2"});
		lookup.put("3.3", new String[] {"1","D1"});
		
		lookup.put("110.2", new String[] {"T20","BULL"});
		lookup.put("107.2", new String[] {"T19","BULL"});
		lookup.put("104.2", new String[] {"T18","BULL"});
		lookup.put("101.2", new String[] {"T17","BULL"});
		lookup.put("100.2", new String[] {"T20","D20"});
		lookup.put("98.2", new String[] {"T20","D19"});
		lookup.put("97.2", new String[] {"T19","D20"});
		lookup.put("96.2", new String[] {"T20","D18"});
		lookup.put("95.2", new String[] {"T19","D19"});
		lookup.put("94.2", new String[] {"T18","D20"});
		lookup.put("93.2", new String[] {"T19","D18"});
		lookup.put("92.2", new String[] {"T20","D16"});
		lookup.put("91.2", new String[] {"T17","D20"});
		lookup.put("90.2", new String[] {"T18","D18"});
		lookup.put("89.2", new String[] {"T19","D16"});
		lookup.put("88.2", new String[] {"T16","D20"});
		lookup.put("87.2", new String[] {"T17","D18"});
		lookup.put("86.2", new String[] {"T18","D16"});
		lookup.put("85.2", new String[] {"T15","D20"});
		lookup.put("84.2", new String[] {"T16","D18"});
		lookup.put("83.2", new String[] {"T17","D16"});
		lookup.put("82.2", new String[] {"T14","D20"});
		lookup.put("81.2", new String[] {"T15","D18"});
		lookup.put("80.2", new String[] {"T16","D16"}); //dodgy
		lookup.put("79.2", new String[] {"T13","D20"});
		lookup.put("78.2", new String[] {"T18","D12"});
		lookup.put("77.2", new String[] {"T15","D16"});
		lookup.put("76.2", new String[] {"T20","D8"});
		lookup.put("75.2", new String[] {"T17","D12"});
		lookup.put("74.2", new String[] {"T14","D16"});
		lookup.put("73.2", new String[] {"T19","D8"});
		lookup.put("72.2", new String[] {"T16","D12"});
		lookup.put("71.2", new String[] {"T13","D16"});
		lookup.put("70.2", new String[] {"T20","D5"});
		lookup.put("69.2", new String[] {"T19","D6"});
		lookup.put("68.2", new String[] {"T18","D7"});
		lookup.put("67.2", new String[] {"T17","D8"});
		lookup.put("66.2", new String[] {"T16","D9"});
		lookup.put("65.2", new String[] {"T15","D10"});
		lookup.put("64.2", new String[] {"T14","D11"});
		lookup.put("63.2", new String[] {"T13","D12"});
		lookup.put("62.2", new String[] {"T12","D13"});
		lookup.put("61.2", new String[] {"T11","D14"});
		lookup.put("60.2", new String[] {"20","D20"});
		lookup.put("59.2", new String[] {"19","D20"});
		lookup.put("58.2", new String[] {"18","D20"});
		lookup.put("57.2", new String[] {"17","D20"});
		lookup.put("56.2", new String[] {"16","D20"});
		lookup.put("55.2", new String[] {"15","D20"});
		lookup.put("54.2", new String[] {"14","D20"});
		lookup.put("53.2", new String[] {"13","D20"});
		lookup.put("52.2", new String[] {"20","D16"});
		lookup.put("51.2", new String[] {"19","D16"});
		lookup.put("50.2", new String[] {"10","D20"});
		lookup.put("49.2", new String[] {"17","D16"});
		lookup.put("48.2", new String[] {"16","D16"});
		lookup.put("47.2", new String[] {"15","D16"});
		lookup.put("46.2", new String[] {"6","D20"});
		lookup.put("45.2", new String[] {"13","D16"});
		lookup.put("44.2", new String[] {"12","D16"});
		lookup.put("43.2", new String[] {"3","D20"});
		lookup.put("42.2", new String[] {"10","D16"});
		lookup.put("41.2", new String[] {"9","D16"});
		lookup.put("39.2", new String[] {"7","D16"});
		lookup.put("37.2", new String[] {"5","D16"});
		lookup.put("35.2", new String[] {"3","D16"});
		lookup.put("33.2", new String[] {"1","D16"});
		lookup.put("31.2", new String[] {"15","D8"});
		lookup.put("29.2", new String[] {"13","D8"});
		lookup.put("27.2", new String[] {"11","D8"});
		lookup.put("25.2", new String[] {"9","D8"});
		lookup.put("23.2", new String[] {"7","D8"});
		lookup.put("21.2", new String[] {"5","D8"});
		lookup.put("19.2", new String[] {"3","D8"});
		lookup.put("17.2", new String[] {"1","D8"});
		lookup.put("15.2", new String[] {"7","D4"});
		lookup.put("13.2", new String[] {"5","D4"});
		lookup.put("11.2", new String[] {"3","D4"});
		lookup.put("9.2", new String[] {"1","D4"});
		lookup.put("7.2", new String[] {"3","D2"});
		lookup.put("5.2", new String[] {"1","D2"});
		lookup.put("3.2", new String[] {"1","D1"});
		
		//single dart finishes
		lookup.put("40.3", new String[] {"D20"});
		lookup.put("38.3", new String[] {"D19"});
		lookup.put("36.3", new String[] {"D18"});
		lookup.put("34.3", new String[] {"D17"});
		lookup.put("32.3", new String[] {"D16"});
		lookup.put("30.3", new String[] {"D15"});
		lookup.put("28.3", new String[] {"D14"});
		lookup.put("26.3", new String[] {"D13"});
		lookup.put("24.3", new String[] {"D12"});
		lookup.put("22.3", new String[] {"D11"});
		lookup.put("20.3", new String[] {"D10"});
		lookup.put("18.3", new String[] {"D9"});
		lookup.put("16.3", new String[] {"D8"});
		lookup.put("14.3", new String[] {"D7"});
		lookup.put("12.3", new String[] {"D6"});
		lookup.put("10.3", new String[] {"D5"});
		lookup.put("8.3", new String[] {"D4"});
		lookup.put("6.3", new String[] {"D3"});
		lookup.put("4.3", new String[] {"D2"});
		lookup.put("2.3", new String[] {"D1"});
		lookup.put("40.2", new String[] {"D20"});
		lookup.put("38.2", new String[] {"D19"});
		lookup.put("36.2", new String[] {"D18"});
		lookup.put("34.2", new String[] {"D17"});
		lookup.put("32.2", new String[] {"D16"});
		lookup.put("30.2", new String[] {"D15"});
		lookup.put("28.2", new String[] {"D14"});
		lookup.put("26.2", new String[] {"D13"});
		lookup.put("24.2", new String[] {"D12"});
		lookup.put("22.2", new String[] {"D11"});
		lookup.put("20.2", new String[] {"D10"});
		lookup.put("18.2", new String[] {"D9"});
		lookup.put("16.2", new String[] {"D8"});
		lookup.put("14.2", new String[] {"D7"});
		lookup.put("12.2", new String[] {"D6"});
		lookup.put("10.2", new String[] {"D5"});
		lookup.put("8.2", new String[] {"D4"});
		lookup.put("6.2", new String[] {"D3"});
		lookup.put("4.2", new String[] {"D2"});
		lookup.put("2.2", new String[] {"D1"});
		lookup.put("50.1", new String[] {"BULL"});
		lookup.put("40.1", new String[] {"D20"});
		lookup.put("38.1", new String[] {"D19"});
		lookup.put("36.1", new String[] {"D18"});
		lookup.put("34.1", new String[] {"D17"});
		lookup.put("32.1", new String[] {"D16"});
		lookup.put("30.1", new String[] {"D15"});
		lookup.put("28.1", new String[] {"D14"});
		lookup.put("26.1", new String[] {"D13"});
		lookup.put("24.1", new String[] {"D12"});
		lookup.put("22.1", new String[] {"D11"});
		lookup.put("20.1", new String[] {"D10"});
		lookup.put("18.1", new String[] {"D9"});
		lookup.put("16.1", new String[] {"D8"});
		lookup.put("14.1", new String[] {"D7"});
		lookup.put("12.1", new String[] {"D6"});
		lookup.put("10.1", new String[] {"D5"});
		lookup.put("8.1", new String[] {"D4"});
		lookup.put("6.1", new String[] {"D3"});
		lookup.put("4.1", new String[] {"D2"});
		lookup.put("2.1", new String[] {"D1"});

		//Treble Out
		lookupTO= new HashMap<String,String[]>();
		//three-dart finishes
		lookupTO.put("180.3", new String[] {"T20","T20","T20"});
		lookupTO.put("177.3", new String[] {"T20","T20","T19"});
		lookupTO.put("174.3", new String[] {"T20","T20","T18"});
		lookupTO.put("171.3", new String[] {"T20","T20","T17"});
		lookupTO.put("170.3", new String[] {"BULL","T20","T20"});
		lookupTO.put("168.3", new String[] {"T20","T20","T16"});
		lookupTO.put("165.3", new String[] {"T20","T20","T15"});
		lookupTO.put("162.3", new String[] {"T20","T20","T14"});
		lookupTO.put("160.3", new String[] {"D20","T20","T20"});
		lookupTO.put("159.3", new String[] {"T20","T20","T13"});
		lookupTO.put("158.3", new String[] {"D19","T20","T20"});
		lookupTO.put("157.3", new String[] {"D20","T19","T20"});
		lookupTO.put("156.3", new String[] {"T20","T20","T12"});
		lookupTO.put("155.3", new String[] {"D19","T20","T19"});
		lookupTO.put("154.3", new String[] {"D20","T20","T18"});
		lookupTO.put("153.3", new String[] {"T20","T20","T11"});
		lookupTO.put("152.3", new String[] {"D16","T20","T20"});
		lookupTO.put("151.3", new String[] {"D20","T20","T17"});
		lookupTO.put("150.3", new String[] {"T12","T20","T18"});
		lookupTO.put("149.3", new String[] {"D16","T20","T19"});
		lookupTO.put("148.3", new String[] {"D14","T20","T20"});
		lookupTO.put("147.3", new String[] {"T12","T20","T17"});
		lookupTO.put("146.3", new String[] {"D16","T20","T18"});
		lookupTO.put("145.3", new String[] {"OB","T20","T20"});
		lookupTO.put("144.3", new String[] {"D12","T20","T20"});
		lookupTO.put("143.3", new String[] {"D16","T20","T17"});
		lookupTO.put("142.3", new String[] {"D20","T20","T14"});
		lookupTO.put("141.3", new String[] {"T12","T20","T15"});
		lookupTO.put("140.3", new String[] {"T20","20","T20"});
		lookupTO.put("139.3", new String[] {"T20","19","T20"});
		lookupTO.put("138.3", new String[] {"T20","18","T20"});
		lookupTO.put("137.3", new String[] {"T20","17","T20"});
		lookupTO.put("136.3", new String[] {"T20","16","T20"});
		lookupTO.put("135.3", new String[] {"BULL","OB","T20"});
		lookupTO.put("134.3", new String[] {"T20","14","T20"});
		lookupTO.put("133.3", new String[] {"T20","13","T20"});
		lookupTO.put("132.3", new String[] {"T20","12","T20"});
		lookupTO.put("131.3", new String[] {"T20","11","T20"});
		lookupTO.put("130.3", new String[] {"BULL","20","T20"});
		lookupTO.put("129.3", new String[] {"T20","9","T20"});
		lookupTO.put("128.3", new String[] {"T20","8","T20"});
		lookupTO.put("127.3", new String[] {"T20","7","T20"});
		lookupTO.put("126.3", new String[] {"T20","6","T20"});
		lookupTO.put("125.3", new String[] {"T20","5","T20"});
		lookupTO.put("124.3", new String[] {"T16","16","T20"});
		lookupTO.put("123.3", new String[] {"T20","3","T20"});
		lookupTO.put("122.3", new String[] {"T20","2","T20"});
		lookupTO.put("121.3", new String[] {"T20","1","T20"});
		lookupTO.put("119.3", new String[] {"T18","5","T20"});
		lookupTO.put("118.3", new String[] {"T16","16","T20"});
		lookupTO.put("116.3", new String[] {"T20","8","T16"});
		lookupTO.put("115.3", new String[] {"T20","10","T15"});
		lookupTO.put("113.3", new String[] {"T18","5","T18"});
		lookupTO.put("112.3", new String[] {"T18","4","T18"});
		lookupTO.put("109.3", new String[] {"T18","2","T18"});
		lookupTO.put("106.3", new String[] {"T16","10","T16"});
		lookupTO.put("103.3", new String[] {"T16","7","T16"});

		//two dart finishes
		lookupTO.put("120.3", new String[] {"T20","T20"});
		lookupTO.put("117.3", new String[] {"T20","T19"});
		lookupTO.put("114.3", new String[] {"T20","T18"});
		lookupTO.put("111.3", new String[] {"T20","T17"});
		lookupTO.put("110.3", new String[] {"BULL","T20"});
		lookupTO.put("108.3", new String[] {"T20","T16"});
		lookupTO.put("107.3", new String[] {"BULL","T19"});
		lookupTO.put("105.3", new String[] {"T20","T15"});
		lookupTO.put("104.3", new String[] {"BULL","T18"});
		lookupTO.put("102.3", new String[] {"T20","T14"});
		lookupTO.put("101.3", new String[] {"BULL","T17"});
		lookupTO.put("100.3", new String[] {"D20","T20"});
		lookupTO.put("99.3", new String[] {"T20","T13"});		
		lookupTO.put("98.3", new String[] {"D19","T20"});
		lookupTO.put("97.3", new String[] {"D20","T19"});
		lookupTO.put("96.3", new String[] {"T16","T16"});
		lookupTO.put("95.3", new String[] {"D19","T19"});
		lookupTO.put("94.3", new String[] {"D20","T18"});
		lookupTO.put("93.3", new String[] {"T15","T16"});
		lookupTO.put("92.3", new String[] {"D16","T20"});
		lookupTO.put("91.3", new String[] {"D20","T17"});
		lookupTO.put("90.3", new String[] {"T10","T20"});
		lookupTO.put("89.3", new String[] {"D16","T19"});
		lookupTO.put("88.3", new String[] {"D20","T16"});
		lookupTO.put("87.3", new String[] {"T10","T19"});
		lookupTO.put("86.3", new String[] {"D16","T18"});
		lookupTO.put("85.3", new String[] {"OB","T20"});
		lookupTO.put("84.3", new String[] {"T10","T18"});
		lookupTO.put("83.3", new String[] {"D16","T17"});
		lookupTO.put("82.3", new String[] {"D20","T14"});
		lookupTO.put("81.3", new String[] {"T10","T17"});
		lookupTO.put("80.3", new String[] {"20","T20"});
		lookupTO.put("79.3", new String[] {"19","T20"});
		lookupTO.put("78.3", new String[] {"18","T20"});
		lookupTO.put("77.3", new String[] {"17","T20"});
		lookupTO.put("76.3", new String[] {"16","T20"});
		lookupTO.put("75.3", new String[] {"15","T20"});
		lookupTO.put("74.3", new String[] {"14","T20"});
		lookupTO.put("73.3", new String[] {"13","T20"});
		lookupTO.put("72.3", new String[] {"12","T20"});
		lookupTO.put("71.3", new String[] {"11","T20"});
		lookupTO.put("70.3", new String[] {"10","T20"});
		lookupTO.put("69.3", new String[] {"9","T20"});
		lookupTO.put("68.3", new String[] {"8","T20"});
		lookupTO.put("67.3", new String[] {"7","T20"});
		lookupTO.put("66.3", new String[] {"6","T20"});
		lookupTO.put("65.3", new String[] {"5","T20"});
		lookupTO.put("64.3", new String[] {"4","T20"});
		lookupTO.put("63.3", new String[] {"3","T20"});
		lookupTO.put("62.3", new String[] {"2","T20"});
		lookupTO.put("61.3", new String[] {"1","T20"});
		lookupTO.put("59.3", new String[] {"2","T19"});
		lookupTO.put("58.3", new String[] {"1","T19"});
		lookupTO.put("56.3", new String[] {"2","T18"});
		lookupTO.put("55.3", new String[] {"1","T18"});
		lookupTO.put("53.3", new String[] {"2","T17"});
		lookupTO.put("52.3", new String[] {"1","T17"});
		lookupTO.put("50.3", new String[] {"2","T16"});
		lookupTO.put("49.3", new String[] {"1","T16"});
		lookupTO.put("47.3", new String[] {"2","T15"});
		lookupTO.put("46.3", new String[] {"1","T15"});
		lookupTO.put("44.3", new String[] {"2","T14"});
		lookupTO.put("43.3", new String[] {"1","T14"});
		lookupTO.put("41.3", new String[] {"2","T13"});
		lookupTO.put("40.3", new String[] {"1","T13"});
		lookupTO.put("38.3", new String[] {"2","T12"});
		lookupTO.put("37.3", new String[] {"1","T12"});
		lookupTO.put("35.3", new String[] {"2","T11"});
		lookupTO.put("34.3", new String[] {"1","T11"});
		lookupTO.put("32.3", new String[] {"2","T10"});
		lookupTO.put("31.3", new String[] {"1","T10"});
		lookupTO.put("29.3", new String[] {"2","T9"});
		lookupTO.put("28.3", new String[] {"1","T9"});
		lookupTO.put("26.3", new String[] {"2","T8"});
		lookupTO.put("25.3", new String[] {"1","T8"});
		lookupTO.put("23.3", new String[] {"2","T7"});
		lookupTO.put("22.3", new String[] {"1","T7"});
		lookupTO.put("20.3", new String[] {"2","T6"});
		lookupTO.put("19.3", new String[] {"1","T6"});
		lookupTO.put("17.3", new String[] {"2","T5"});
		lookupTO.put("16.3", new String[] {"1","T5"});
		lookupTO.put("14.3", new String[] {"2","T4"});
		lookupTO.put("13.3", new String[] {"1","T4"});
		lookupTO.put("11.3", new String[] {"2","T3"});
		lookupTO.put("10.3", new String[] {"1","T3"});
		lookupTO.put("8.3", new String[] {"2","T2"});
		lookupTO.put("7.3", new String[] {"1","T2"});
		lookupTO.put("5.3", new String[] {"2","T1"});
		lookupTO.put("4.3", new String[] {"1","T1"});
		lookupTO.put("120.2", new String[] {"T20","T20"});
		lookupTO.put("117.2", new String[] {"T20","T19"});
		lookupTO.put("114.2", new String[] {"T20","T18"});
		lookupTO.put("111.2", new String[] {"T20","T17"});
		lookupTO.put("110.2", new String[] {"BULL","T20"});
		lookupTO.put("108.2", new String[] {"T20","T16"});
		lookupTO.put("107.2", new String[] {"BULL","T19"});
		lookupTO.put("105.2", new String[] {"T20","T15"});
		lookupTO.put("104.2", new String[] {"BULL","T18"});
		lookupTO.put("102.2", new String[] {"T20","T14"});
		lookupTO.put("101.2", new String[] {"BULL","T17"});
		lookupTO.put("100.2", new String[] {"D20","T20"});
		lookupTO.put("99.2", new String[] {"T20","T13"});		
		lookupTO.put("98.2", new String[] {"D19","T20"});
		lookupTO.put("97.2", new String[] {"D20","T19"});
		lookupTO.put("96.2", new String[] {"T16","T16"});
		lookupTO.put("95.2", new String[] {"D19","T19"});
		lookupTO.put("94.2", new String[] {"D20","T18"});
		lookupTO.put("93.2", new String[] {"T15","T16"});
		lookupTO.put("92.2", new String[] {"D16","T20"});
		lookupTO.put("91.2", new String[] {"D20","T17"});
		lookupTO.put("90.2", new String[] {"T10","T20"});
		lookupTO.put("89.2", new String[] {"D16","T19"});
		lookupTO.put("88.2", new String[] {"D20","T16"});
		lookupTO.put("87.2", new String[] {"T10","T19"});
		lookupTO.put("86.2", new String[] {"D16","T18"});
		lookupTO.put("85.2", new String[] {"OB","T20"});
		lookupTO.put("84.2", new String[] {"T10","T18"});
		lookupTO.put("83.2", new String[] {"D16","T17"});
		lookupTO.put("82.2", new String[] {"D20","T14"});
		lookupTO.put("81.2", new String[] {"T10","T17"});
		lookupTO.put("80.2", new String[] {"20","T20"});
		lookupTO.put("79.2", new String[] {"19","T20"});
		lookupTO.put("78.2", new String[] {"18","T20"});
		lookupTO.put("77.2", new String[] {"17","T20"});
		lookupTO.put("76.2", new String[] {"16","T20"});
		lookupTO.put("75.2", new String[] {"15","T20"});
		lookupTO.put("74.2", new String[] {"14","T20"});
		lookupTO.put("73.2", new String[] {"13","T20"});
		lookupTO.put("72.2", new String[] {"12","T20"});
		lookupTO.put("71.2", new String[] {"11","T20"});
		lookupTO.put("70.2", new String[] {"10","T20"});
		lookupTO.put("69.2", new String[] {"9","T20"});
		lookupTO.put("68.2", new String[] {"8","T20"});
		lookupTO.put("67.2", new String[] {"7","T20"});
		lookupTO.put("66.2", new String[] {"6","T20"});
		lookupTO.put("65.2", new String[] {"5","T20"});
		lookupTO.put("64.2", new String[] {"4","T20"});
		lookupTO.put("63.2", new String[] {"3","T20"});
		lookupTO.put("62.2", new String[] {"2","T20"});
		lookupTO.put("61.2", new String[] {"1","T20"});
		lookupTO.put("59.2", new String[] {"2","T19"});
		lookupTO.put("58.2", new String[] {"1","T19"});
		lookupTO.put("56.2", new String[] {"2","T18"});
		lookupTO.put("55.2", new String[] {"1","T18"});
		lookupTO.put("53.2", new String[] {"2","T17"});
		lookupTO.put("52.2", new String[] {"1","T17"});
		lookupTO.put("50.2", new String[] {"2","T16"});
		lookupTO.put("49.2", new String[] {"1","T16"});
		lookupTO.put("47.2", new String[] {"2","T15"});
		lookupTO.put("46.2", new String[] {"1","T15"});
		lookupTO.put("44.2", new String[] {"2","T14"});
		lookupTO.put("43.2", new String[] {"1","T14"});
		lookupTO.put("41.2", new String[] {"2","T13"});
		lookupTO.put("40.2", new String[] {"1","T13"});
		lookupTO.put("38.2", new String[] {"2","T12"});
		lookupTO.put("37.2", new String[] {"1","T12"});
		lookupTO.put("35.2", new String[] {"2","T11"});
		lookupTO.put("34.2", new String[] {"1","T11"});
		lookupTO.put("32.2", new String[] {"2","T10"});
		lookupTO.put("31.2", new String[] {"1","T10"});
		lookupTO.put("29.2", new String[] {"2","T9"});
		lookupTO.put("28.2", new String[] {"1","T9"});
		lookupTO.put("26.2", new String[] {"2","T8"});
		lookupTO.put("25.2", new String[] {"1","T8"});
		lookupTO.put("23.2", new String[] {"2","T7"});
		lookupTO.put("22.2", new String[] {"1","T7"});
		lookupTO.put("20.2", new String[] {"2","T6"});
		lookupTO.put("19.2", new String[] {"1","T6"});
		lookupTO.put("17.2", new String[] {"2","T5"});
		lookupTO.put("16.2", new String[] {"1","T5"});
		lookupTO.put("14.2", new String[] {"2","T4"});
		lookupTO.put("13.2", new String[] {"1","T4"});
		lookupTO.put("11.2", new String[] {"2","T3"});
		lookupTO.put("10.2", new String[] {"1","T3"});
		lookupTO.put("8.2", new String[] {"2","T2"});
		lookupTO.put("7.2", new String[] {"1","T2"});
		lookupTO.put("5.2", new String[] {"2","T1"});
		lookupTO.put("4.2", new String[] {"1","T1"});
		
		//single dart finishes
		lookupTO.put("60.3", new String[] {"T20"});
		lookupTO.put("57.3", new String[] {"T19"});
		lookupTO.put("54.3", new String[] {"T18"});
		lookupTO.put("51.3", new String[] {"T17"});
		lookupTO.put("48.3", new String[] {"T16"});
		lookupTO.put("45.3", new String[] {"T15"});
		lookupTO.put("42.3", new String[] {"T14"});
		lookupTO.put("39.3", new String[] {"T13"});
		lookupTO.put("36.3", new String[] {"T12"});
		lookupTO.put("33.3", new String[] {"T11"});
		lookupTO.put("30.3", new String[] {"T10"});
		lookupTO.put("27.3", new String[] {"T9"});
		lookupTO.put("24.3", new String[] {"T8"});
		lookupTO.put("21.3", new String[] {"T7"});
		lookupTO.put("18.3", new String[] {"T6"});
		lookupTO.put("15.3", new String[] {"T5"});
		lookupTO.put("12.3", new String[] {"T4"});
		lookupTO.put("9.3", new String[] {"T3"});
		lookupTO.put("6.3", new String[] {"T2"});
		lookupTO.put("3.3", new String[] {"T1"});
		lookupTO.put("60.2", new String[] {"T20"});
		lookupTO.put("57.2", new String[] {"T19"});
		lookupTO.put("54.2", new String[] {"T18"});
		lookupTO.put("51.2", new String[] {"T17"});
		lookupTO.put("48.2", new String[] {"T16"});
		lookupTO.put("45.2", new String[] {"T15"});
		lookupTO.put("42.2", new String[] {"T14"});
		lookupTO.put("39.2", new String[] {"T13"});
		lookupTO.put("36.2", new String[] {"T12"});
		lookupTO.put("33.2", new String[] {"T11"});
		lookupTO.put("30.2", new String[] {"T10"});
		lookupTO.put("27.2", new String[] {"T9"});
		lookupTO.put("24.2", new String[] {"T8"});
		lookupTO.put("21.2", new String[] {"T7"});
		lookupTO.put("18.2", new String[] {"T6"});
		lookupTO.put("15.2", new String[] {"T5"});
		lookupTO.put("12.2", new String[] {"T4"});
		lookupTO.put("9.2", new String[] {"T3"});
		lookupTO.put("6.2", new String[] {"T2"});
		lookupTO.put("3.2", new String[] {"T1"});
		lookupTO.put("60.1", new String[] {"T20"});
		lookupTO.put("57.1", new String[] {"T19"});
		lookupTO.put("54.1", new String[] {"T18"});
		lookupTO.put("51.1", new String[] {"T17"});
		lookupTO.put("48.1", new String[] {"T16"});
		lookupTO.put("45.1", new String[] {"T15"});
		lookupTO.put("42.1", new String[] {"T14"});
		lookupTO.put("39.1", new String[] {"T13"});
		lookupTO.put("36.1", new String[] {"T12"});
		lookupTO.put("33.1", new String[] {"T11"});
		lookupTO.put("30.1", new String[] {"T10"});
		lookupTO.put("27.1", new String[] {"T9"});
		lookupTO.put("24.1", new String[] {"T8"});
		lookupTO.put("21.1", new String[] {"T7"});
		lookupTO.put("18.1", new String[] {"T6"});
		lookupTO.put("15.1", new String[] {"T5"});
		lookupTO.put("12.1", new String[] {"T4"});
		lookupTO.put("9.1", new String[] {"T3"});
		lookupTO.put("6.1", new String[] {"T2"});
		lookupTO.put("3.1", new String[] {"T1"});
				
	
		//Single Out
		lookupSO= new HashMap<String,String[]>();
		//three-dart finishes
		lookupSO.put("180.3", new String[] {"T20","T20","T20"});
		lookupSO.put("177.3", new String[] {"T20","T20","T19"});
		lookupSO.put("174.3", new String[] {"T20","T20","T18"});
		lookupSO.put("171.3", new String[] {"T20","T20","T17"});
		lookupSO.put("170.3", new String[] {"T20","T20","BULL"});
		lookupSO.put("168.3", new String[] {"T20","T20","T16"});
		lookupSO.put("167.3", new String[] {"T20","T19","BULL"});
		lookupSO.put("165.3", new String[] {"T20","T20","T15"});
		lookupSO.put("164.3", new String[] {"T19","T19","BULL"});
		lookupSO.put("162.3", new String[] {"T20","T20","T14"});
		lookupSO.put("161.3", new String[] {"T20","T17","BULL"});
		lookupSO.put("160.3", new String[] {"T20","T20","D20"});
		lookupSO.put("159.3", new String[] {"T20","T20","T13"});
		lookupSO.put("158.3", new String[] {"T20","T19","D19"});
		lookupSO.put("157.3", new String[] {"T20","T19","D20"});
		lookupSO.put("156.3", new String[] {"T20","T20","D18"});
		lookupSO.put("155.3", new String[] {"T20","T19","D19"});
		lookupSO.put("154.3", new String[] {"T20","T18","D20"});
		lookupSO.put("153.3", new String[] {"T20","T19","D18"});
		lookupSO.put("152.3", new String[] {"T20","T20","D16"});
		lookupSO.put("151.3", new String[] {"T20","T17","D20"});
		lookupSO.put("150.3", new String[] {"T20","T18","D18"});
		lookupSO.put("149.3", new String[] {"T20","T19","D16"});
		lookupSO.put("148.3", new String[] {"T20","T20","D14"});
		lookupSO.put("147.3", new String[] {"T20","T17","D18"});
		lookupSO.put("146.3", new String[] {"T20","T18","D16"});
		lookupSO.put("145.3", new String[] {"T20","T15","D20"});
		lookupSO.put("144.3", new String[] {"T20","T20","D12"});
		lookupSO.put("143.3", new String[] {"T20","T17","D16"});
		lookupSO.put("142.3", new String[] {"T20","T14","D20"});
		lookupSO.put("141.3", new String[] {"T20","T15","D18"});
		lookupSO.put("140.3", new String[] {"T20","T16","D16"});
		lookupSO.put("139.3", new String[] {"T20","T13","D20"});
		lookupSO.put("138.3", new String[] {"T20","T16","D20"});
		lookupSO.put("137.3", new String[] {"T18","T17","D16"});
		lookupSO.put("136.3", new String[] {"T20","T20","16"});
		lookupSO.put("135.3", new String[] {"T20","T13","D18"});
		lookupSO.put("134.3", new String[] {"T20","T14","D16"});
		lookupSO.put("133.3", new String[] {"T20","T19","16"});
		lookupSO.put("132.3", new String[] {"BULL","BULL","D16"});
		lookupSO.put("131.3", new String[] {"T20","T13","D16"});
		lookupSO.put("130.3", new String[] {"T20","T18","16"});
		lookupSO.put("129.3", new String[] {"T19","T16","D12"});
		lookupSO.put("128.3", new String[] {"T20","T20","8"});
		lookupSO.put("127.3", new String[] {"T20","T17","16"});
		lookupSO.put("126.3", new String[] {"T19","19","BULL"});
		lookupSO.put("125.3", new String[] {"T20","T19","8"});
		lookupSO.put("124.3", new String[] {"T20","T16","16"});
		lookupSO.put("123.3", new String[] {"T20","T13","D12"});
		lookupSO.put("122.3", new String[] {"T18","18","BULL"});
		lookupSO.put("121.3", new String[] {"T19","14","BULL"});
		lookupSO.put("119.3", new String[] {"T20","D20","19"});
		lookupSO.put("118.3", new String[] {"T20","D20","18"});
		lookupSO.put("116.3", new String[] {"T20","D20","16"});
		lookupSO.put("115.3", new String[] {"T20","D20","15"});
		lookupSO.put("113.3", new String[] {"T20","D20","13"});
		lookupSO.put("112.3", new String[] {"T20","D20","12"});
		lookupSO.put("109.3", new String[] {"T19","D20","12"});
		lookupSO.put("105.3", new String[] {"T20","D16","13"});
		lookupSO.put("104.3", new String[] {"T20","D16","12"});
		lookupSO.put("102.3", new String[] {"T20","D16","10"});
		lookupSO.put("101.3", new String[] {"T17","D20","10"});

		//two dart finishes
		lookupSO.put("120.3", new String[] {"T20","T20"});
		lookupSO.put("117.3", new String[] {"T20","T19"});
		lookupSO.put("114.3", new String[] {"T20","T18"});
		lookupSO.put("111.3", new String[] {"T20","T17"});
		lookupSO.put("110.3", new String[] {"BULL","T20"});
		lookupSO.put("108.3", new String[] {"T20","T16"});
		lookupSO.put("107.3", new String[] {"BULL","T19"});
		lookupSO.put("105.3", new String[] {"T20","T15"});
		lookupSO.put("104.3", new String[] {"BULL","T18"});
		lookupSO.put("102.3", new String[] {"T20","T14"});
		lookupSO.put("101.3", new String[] {"BULL","T17"});
		lookupSO.put("100.3", new String[] {"T20","D20"});
		lookupSO.put("99.3", new String[] {"T20","T13"});		
		lookupSO.put("98.3", new String[] {"T20","D19"});
		lookupSO.put("97.3", new String[] {"T19","D20"});
		lookupSO.put("96.3", new String[] {"T20","D18"});
		lookupSO.put("95.3", new String[] {"T19","D19"});
		lookupSO.put("94.3", new String[] {"T18","D20"});
		lookupSO.put("93.3", new String[] {"T19","D18"});
		lookupSO.put("92.3", new String[] {"T20","D16"});
		lookupSO.put("91.3", new String[] {"T17","D20"});
		lookupSO.put("90.3", new String[] {"T18","D18"});
		lookupSO.put("89.3", new String[] {"T19","D16"});
		lookupSO.put("88.3", new String[] {"T16","D20"});
		lookupSO.put("87.3", new String[] {"T17","D18"});
		lookupSO.put("86.3", new String[] {"T18","D16"});
		lookupSO.put("85.3", new String[] {"T15","D20"});
		lookupSO.put("84.3", new String[] {"T16","D18"});
		lookupSO.put("83.3", new String[] {"T17","D16"});
		lookupSO.put("82.3", new String[] {"T14","D20"});
		lookupSO.put("81.3", new String[] {"T15","D18"});
		lookupSO.put("80.3", new String[] {"T16","D16"}); 
		lookupSO.put("79.3", new String[] {"T13","D20"});
		lookupSO.put("78.3", new String[] {"T18","D12"});
		lookupSO.put("77.3", new String[] {"T15","D16"});
		lookupSO.put("76.3", new String[] {"T20","16"});
		lookupSO.put("75.3", new String[] {"T13","D18"});
		lookupSO.put("74.3", new String[] {"T14","D16"});
		lookupSO.put("73.3", new String[] {"T19","16"});
		lookupSO.put("72.3", new String[] {"T16","D12"});
		lookupSO.put("71.3", new String[] {"T13","D16"});
		lookupSO.put("70.3", new String[] {"T18","16"});
		lookupSO.put("69.3", new String[] {"T19","12"});
		lookupSO.put("68.3", new String[] {"T20","8"});
		lookupSO.put("67.3", new String[] {"T17","16"});
		lookupSO.put("66.3", new String[] {"T10","D18"});
		lookupSO.put("65.3", new String[] {"T19","8"});
		lookupSO.put("64.3", new String[] {"T16","16"});
		lookupSO.put("63.3", new String[] {"T13","D12"});
		lookupSO.put("62.3", new String[] {"T10","D16"});
		lookupSO.put("61.3", new String[] {"T15","16"});
		lookupSO.put("59.3", new String[] {"T19","2"});
		lookupSO.put("58.3", new String[] {"T19","1"});
		lookupSO.put("56.3", new String[] {"T18","2"});
		lookupSO.put("55.3", new String[] {"T15","10"});
		lookupSO.put("53.3", new String[] {"T17","2"});
		lookupSO.put("52.3", new String[] {"T17","1"});
		lookupSO.put("49.3", new String[] {"T16","1"});
		lookupSO.put("47.3", new String[] {"T15","2"});
		lookupSO.put("46.3", new String[] {"T15","1"});
		lookupSO.put("44.3", new String[] {"T14","2"});
		lookupSO.put("43.3", new String[] {"T14","1"});
		lookupSO.put("41.3", new String[] {"T13","2"});
		lookupSO.put("40.3", new String[] {"20","20"});		
		lookupSO.put("38.3", new String[] {"20","18"});		
		lookupSO.put("37.3", new String[] {"20","17"});
		lookupSO.put("35.3", new String[] {"20","15"});
		lookupSO.put("34.3", new String[] {"20","14"});
		lookupSO.put("32.3", new String[] {"20","12"});
		lookupSO.put("31.3", new String[] {"15","16"});
		lookupSO.put("29.3", new String[] {"19","10"});
		lookupSO.put("28.3", new String[] {"20","8"});
		lookupSO.put("27.3", new String[] {"20","7"});
		lookupSO.put("26.3", new String[] {"11","16"});
		lookupSO.put("25.3", new String[] {"9","16"});
		lookupSO.put("23.3", new String[] {"7","16"});
		lookupSO.put("21.3", new String[] {"5","16"});
		lookupSO.put("120.2", new String[] {"T20","T20"});
		lookupSO.put("117.2", new String[] {"T20","T19"});
		lookupSO.put("114.2", new String[] {"T20","T18"});
		lookupSO.put("111.2", new String[] {"T20","T17"});
		lookupSO.put("110.2", new String[] {"BULL","T20"});
		lookupSO.put("108.2", new String[] {"T20","T16"});
		lookupSO.put("107.2", new String[] {"BULL","T19"});
		lookupSO.put("105.2", new String[] {"T20","T15"});
		lookupSO.put("104.2", new String[] {"BULL","T18"});
		lookupSO.put("102.2", new String[] {"T20","T14"});
		lookupSO.put("101.2", new String[] {"BULL","T17"});
		lookupSO.put("100.2", new String[] {"T20","D20"});
		lookupSO.put("99.2", new String[] {"T20","T13"});		
		lookupSO.put("98.2", new String[] {"T20","D19"});
		lookupSO.put("97.2", new String[] {"T19","D20"});
		lookupSO.put("96.2", new String[] {"T20","D18"});
		lookupSO.put("95.2", new String[] {"T19","D19"});
		lookupSO.put("94.2", new String[] {"T18","D20"});
		lookupSO.put("93.2", new String[] {"T19","D18"});
		lookupSO.put("92.2", new String[] {"T20","D16"});
		lookupSO.put("91.2", new String[] {"T17","D20"});
		lookupSO.put("90.2", new String[] {"T18","D18"});
		lookupSO.put("89.2", new String[] {"T19","D16"});
		lookupSO.put("88.2", new String[] {"T16","D20"});
		lookupSO.put("87.2", new String[] {"T17","D18"});
		lookupSO.put("86.2", new String[] {"T18","D16"});
		lookupSO.put("85.2", new String[] {"T15","D20"});
		lookupSO.put("84.2", new String[] {"T16","D18"});
		lookupSO.put("83.2", new String[] {"T17","D16"});
		lookupSO.put("82.2", new String[] {"T14","D20"});
		lookupSO.put("81.2", new String[] {"T15","D18"});
		lookupSO.put("80.2", new String[] {"T16","D16"}); 
		lookupSO.put("79.2", new String[] {"T13","D20"});
		lookupSO.put("78.2", new String[] {"T18","D12"});
		lookupSO.put("77.2", new String[] {"T15","D16"});
		lookupSO.put("76.2", new String[] {"T20","16"});
		lookupSO.put("75.2", new String[] {"T13","D18"});
		lookupSO.put("74.2", new String[] {"T14","D16"});
		lookupSO.put("73.2", new String[] {"T19","16"});
		lookupSO.put("72.2", new String[] {"T16","D12"});
		lookupSO.put("71.2", new String[] {"T13","D16"});
		lookupSO.put("70.2", new String[] {"T18","16"});
		lookupSO.put("69.2", new String[] {"T19","12"});
		lookupSO.put("68.2", new String[] {"T20","8"});
		lookupSO.put("67.2", new String[] {"T17","16"});
		lookupSO.put("66.2", new String[] {"T10","D18"});
		lookupSO.put("65.2", new String[] {"T19","8"});
		lookupSO.put("64.2", new String[] {"T16","16"});
		lookupSO.put("63.2", new String[] {"T13","D12"});
		lookupSO.put("62.2", new String[] {"T10","D16"});
		lookupSO.put("61.2", new String[] {"T15","16"});
		lookupSO.put("59.2", new String[] {"T19","2"});
		lookupSO.put("58.2", new String[] {"T19","1"});
		lookupSO.put("56.2", new String[] {"T18","2"});
		lookupSO.put("55.2", new String[] {"T15","10"});
		lookupSO.put("53.2", new String[] {"T17","2"});
		lookupSO.put("52.2", new String[] {"T17","1"});
		lookupSO.put("49.2", new String[] {"T16","1"});
		lookupSO.put("47.2", new String[] {"T15","2"});
		lookupSO.put("46.2", new String[] {"T15","1"});
		lookupSO.put("44.2", new String[] {"T14","2"});
		lookupSO.put("43.2", new String[] {"T14","1"});
		lookupSO.put("41.2", new String[] {"T13","2"});
		lookupSO.put("40.2", new String[] {"20","20"});		
		lookupSO.put("38.2", new String[] {"20","18"});		
		lookupSO.put("37.2", new String[] {"20","17"});
		lookupSO.put("35.2", new String[] {"20","15"});
		lookupSO.put("34.2", new String[] {"20","14"});
		lookupSO.put("32.2", new String[] {"20","12"});
		lookupSO.put("31.2", new String[] {"15","16"});
		lookupSO.put("29.2", new String[] {"19","10"});
		lookupSO.put("28.2", new String[] {"20","8"});
		lookupSO.put("27.2", new String[] {"20","7"});
		lookupSO.put("26.2", new String[] {"11","16"});
		lookupSO.put("25.2", new String[] {"9","16"});
		lookupSO.put("23.2", new String[] {"7","16"});
		lookupSO.put("21.2", new String[] {"5","16"});

		//single dart checkouts
		lookupSO.put("60.3", new String[] {"T20"});
		lookupSO.put("57.3", new String[] {"T19"});
		lookupSO.put("54.3", new String[] {"T18"});
		lookupSO.put("51.3", new String[] {"T17"});
		lookupSO.put("50.3", new String[] {"BULL"});
		lookupSO.put("48.3", new String[] {"T16"});
		lookupSO.put("45.3", new String[] {"T15"});
		lookupSO.put("42.3", new String[] {"T14"});
		lookupSO.put("39.3", new String[] {"T13"});
		lookupSO.put("36.3", new String[] {"T12"});
		lookupSO.put("33.3", new String[] {"T11"});
		lookupSO.put("30.3", new String[] {"T10"});
		lookupSO.put("20.3", new String[] {"20"});
		lookupSO.put("19.3", new String[] {"19"});
		lookupSO.put("18.3", new String[] {"18"});
		lookupSO.put("17.3", new String[] {"17"});
		lookupSO.put("16.3", new String[] {"16"});
		lookupSO.put("15.3", new String[] {"15"});
		lookupSO.put("14.3", new String[] {"14"});
		lookupSO.put("13.3", new String[] {"13"});
		lookupSO.put("12.3", new String[] {"12"});
		lookupSO.put("11.3", new String[] {"11"});
		lookupSO.put("10.3", new String[] {"10"});
		lookupSO.put("9.3", new String[] {"9"});
		lookupSO.put("8.3", new String[] {"8"});
		lookupSO.put("7.3", new String[] {"7"});
		lookupSO.put("6.3", new String[] {"6"});
		lookupSO.put("5.3", new String[] {"5"});
		lookupSO.put("4.3", new String[] {"4"});
		lookupSO.put("3.3", new String[] {"3"});
		lookupSO.put("2.3", new String[] {"2"});
		lookupSO.put("1.3", new String[] {"1"});
		lookupSO.put("60.2", new String[] {"T20"});
		lookupSO.put("57.2", new String[] {"T19"});
		lookupSO.put("54.2", new String[] {"T18"});
		lookupSO.put("51.2", new String[] {"T17"});
		lookupSO.put("50.2", new String[] {"BULL"});
		lookupSO.put("48.2", new String[] {"T16"});
		lookupSO.put("45.2", new String[] {"T15"});
		lookupSO.put("42.2", new String[] {"T14"});
		lookupSO.put("39.2", new String[] {"T13"});
		lookupSO.put("36.2", new String[] {"T12"});
		lookupSO.put("33.2", new String[] {"T11"});
		lookupSO.put("30.2", new String[] {"T10"});
		lookupSO.put("20.2", new String[] {"20"});
		lookupSO.put("19.2", new String[] {"19"});
		lookupSO.put("18.2", new String[] {"18"});
		lookupSO.put("17.2", new String[] {"17"});
		lookupSO.put("16.2", new String[] {"16"});
		lookupSO.put("15.2", new String[] {"15"});
		lookupSO.put("14.2", new String[] {"14"});
		lookupSO.put("13.2", new String[] {"13"});
		lookupSO.put("12.2", new String[] {"12"});
		lookupSO.put("11.2", new String[] {"11"});
		lookupSO.put("10.2", new String[] {"10"});
		lookupSO.put("9.2", new String[] {"9"});
		lookupSO.put("8.2", new String[] {"8"});
		lookupSO.put("7.2", new String[] {"7"});
		lookupSO.put("6.2", new String[] {"6"});
		lookupSO.put("5.2", new String[] {"5"});
		lookupSO.put("4.2", new String[] {"4"});
		lookupSO.put("3.2", new String[] {"3"});
		lookupSO.put("2.2", new String[] {"2"});
		lookupSO.put("1.2", new String[] {"1"});
		lookupSO.put("60.1", new String[] {"T20"});
		lookupSO.put("57.1", new String[] {"T19"});
		lookupSO.put("54.1", new String[] {"T18"});
		lookupSO.put("51.1", new String[] {"T17"});
		lookupSO.put("50.1", new String[] {"BULL"});
		lookupSO.put("48.1", new String[] {"T16"});
		lookupSO.put("45.1", new String[] {"T15"});
		lookupSO.put("42.1", new String[] {"T14"});
		lookupSO.put("40.1", new String[] {"D20"});
		lookupSO.put("39.1", new String[] {"T13"});
		lookupSO.put("38.1", new String[] {"D19"});
		lookupSO.put("36.1", new String[] {"D18"});
		lookupSO.put("34.1", new String[] {"D17"});
		lookupSO.put("33.1", new String[] {"T11"});
		lookupSO.put("32.1", new String[] {"D16"});
		lookupSO.put("30.1", new String[] {"T10"});
		lookupSO.put("28.1", new String[] {"D14"});
		lookupSO.put("27.1", new String[] {"T9"});
		lookupSO.put("26.1", new String[] {"D13"});
		lookupSO.put("25.1", new String[] {"OB"});
		lookupSO.put("24.1", new String[] {"D12"});
		lookupSO.put("22.1", new String[] {"D11"});
		lookupSO.put("21.1", new String[] {"T7"});
		lookupSO.put("20.1", new String[] {"20"});
		lookupSO.put("19.1", new String[] {"19"});
		lookupSO.put("18.1", new String[] {"18"});
		lookupSO.put("17.1", new String[] {"17"});
		lookupSO.put("16.1", new String[] {"16"});
		lookupSO.put("15.1", new String[] {"15"});
		lookupSO.put("14.1", new String[] {"14"});
		lookupSO.put("13.1", new String[] {"13"});
		lookupSO.put("12.1", new String[] {"12"});
		lookupSO.put("11.1", new String[] {"11"});
		lookupSO.put("10.1", new String[] {"10"});
		lookupSO.put("9.1", new String[] {"9"});
		lookupSO.put("8.1", new String[] {"8"});
		lookupSO.put("7.1", new String[] {"7"});
		lookupSO.put("6.1", new String[] {"6"});
		lookupSO.put("5.1", new String[] {"5"});
		lookupSO.put("4.1", new String[] {"4"});
		lookupSO.put("3.1", new String[] {"3"});
		lookupSO.put("2.1", new String[] {"2"});
		lookupSO.put("1.1", new String[] {"1"});
		
	}
	
	private Checkout() {
	}
	
    public static Checkout getSingletonInstance()
    {
      if (instance == null)
          // it's ok, we can call this constructor
    	  instance = new Checkout();
      return instance;
    }	
    
    public Object clone()
    		throws CloneNotSupportedException
    {
    	throw new CloneNotSupportedException(); 
    }
    
    public String[] getCheckout(int points, int numDarts, boolean doubleOut, boolean trebleOut) {
    	String []checkOut;
    	if (doubleOut) {
    		checkOut= lookup.get(Integer.toString(points)+"."+Integer.toString(numDarts));
    	} else if (trebleOut) {
    		checkOut= lookupTO.get(Integer.toString(points)+"."+Integer.toString(numDarts));
    	} else {
    		checkOut= lookupSO.get(Integer.toString(points)+"."+Integer.toString(numDarts));
    		if (checkOut == null) {
        		checkOut= lookup.get(Integer.toString(points)+"."+Integer.toString(numDarts));    			
    		}
    		if (checkOut == null) {
        		checkOut= lookupTO.get(Integer.toString(points)+"."+Integer.toString(numDarts));    			
    		}
    	}
    	return checkOut;
    }
}
